package com.emm.yixun.marketing.service;

import javax.jws.WebService;

import com.emm.yixun.common.model.SellControl;
import com.emm.yixun.common.model.User;
import com.emm.yixun.common.model.dto.RetainDetailView;
import com.emm.yixun.common.model.dto.SellControlDto;
import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;

@WebService
public interface SellControlServiceFacade {
	/**
	 * 新增
	 */
	Response<SellControlDto> save(SellControlDto dto,User user);

	/**
	 * 修改,当selective=true时修改非空列,当selective=false修改所有列
	 */
	Response<Integer> updateByPrimaryKey(SellControlDto dto, Boolean selective);

	/**
	 * 逻辑删除
	 */
	Response<Integer> deleteByPrimaryKey(Long id);

	/**
	 * 主键查询
	 */
	Response<SellControl> findById(Long id);

	/**
	 * 根据dto查询记录
	 */
	ResponseList<SellControl> findByDto(SellControlDto dto);

	/**
	 * 根据dto以及分页参数查询记录
	 */
	Page<SellControl> findPageByDto(SellControlDto dto, Integer begin, Integer row);

	/**
	 * 根据dto以及分页参数查询记录
	 */
	Response<Page<SellControlDto>> getSellControlDtoList(SellControlDto dto, Integer begin, Integer row);
	
	public RetainDetailView getSellDetail(Long id);
	/**
	* 方法描述 : 撤销销控
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： SellControlServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年7月6日 下午4:45:33
	* @param id
	* @return Response<Boolean>
	 */
	public Response<Boolean> sellControlRevoke(Long id,User user,String remark);
	
	/**
	* 方法描述 : 批量撤销销控
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： SellControlServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年7月6日 下午4:45:33
	* @param ids
	* @return Response<Boolean>
	 */
	public Response<Boolean> batchSellControlRevoke(String ids,User user,String remark);
	
	/** 
	* 方法描述 : 定时任务
	* 创建者：ThinkPad 
	* 项目名称： emm-marketing-api
	* 类名： SellControlServiceFacade.java
	* 版本： v1.0
	* 创建时间： 2016年8月19日 上午10:11:22 void
	 */
	public void taskRun();
	
	
}
